Discard killed buffers from deleted window and frame objects.
authorDmitry Antipov <dmantipov@yandex.ru>
Tue, 11 Sep 2012 15:42:50 +0000 (19:42 +0400)
committerDmitry Antipov <dmantipov@yandex.ru>
Tue, 11 Sep 2012 15:42:50 +0000 (19:42 +0400)
commit0d614ba4831095d71686fb205a04ff4581975b16
tree2f6a92757d0738e1f166a2a24f032bc3ec279440
parent811cb4246ee053578af72c365f9f2d7ee506ee03
Discard killed buffers from deleted window and frame objects.
This reduces an amount of references to killed buffers and
helps GC to reclaim them faster.
* alloc.c (discard_killed_buffers): New function.
(mark_object): Use it for deleted windows and frames.
(mark_object): If symbol's value is set up for a killed buffer
or deleted frame, restore it's global binding.
* data.c (swap_in_global_binding): Add GC notice.
(swap_in_symval_forwarding): Use convenient set_blv_where.
* window.c (wset_next_buffers, wset_prev_buffers): Move ...
* window.h: ... to here.
src/ChangeLog
src/alloc.c
src/data.c
src/window.c
src/window.h